<!--
 * @FilePath     : /study_code/css/flex-grow.html
 * @Description  : flex-grow 子项占剩余空间的情况
 * @Date         : 2025-04-27 14:11:38
 * @Author       : Fang YingGui
 * @LastEditors  : fangyinggui 18715384437@163.com
 * @LastEditTime : 2025-04-27 14:14:12
-->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>documentName</title>
    <link rel="stylesheet" href="" />
    <style>
      /* 1、 -------------------- start */
      div {
        height: 20px;
      }
      .parent1 {
        display: flex;
        width: 400px;
        background-color: lightblue;
        padding-top: 10px;
      }

      .c-a1 {
        width: 100px;
        background-color: lightcoral;
      }
      .c-b1 {
        width: 200px;
        background-color: lightgreen;
      }

      /*
      A 的 flex-grow 为 0，B 的 flex-grow 为 0（即 A、B 不设置该属性）
      则 A、B 的实际宽度为他们本身的宽度，即 A 的实际宽度为 100px ； B 的实际宽度为 200px
      */
      /* 1、 -------------------- end */

      /* 2、 -------------------- start */
      .parent2 {
        display: flex;
        width: 400px;
        background-color: lightblue;
        padding-top: 10px;
      }

      .c-a2 {
        width: 100px;
        flex-grow: 1;
        background-color: lightcoral;
      }
      .c-b2 {
        width: 200px;
        background-color: lightgreen;
      }

      /*
      A 的 flex-grow 为 1，B 的 flex-grow 为 0（即不设置该属性）
      则 A 的实际宽度为 100px + 100px =200px ； B 的实际宽度为 200px + 0 = 200px
      */
      /* 2、 -------------------- end */

      /* 3、 -------------------- start */
      .parent3 {
        display: flex;
        width: 400px;
        background-color: lightblue;
        padding-top: 10px;
      }

      .c-a3 {
        width: 100px;
        flex-grow: 1;
        background-color: lightcoral;
      }
      .c-b3 {
        width: 200px;
        flex-grow: 2;
        background-color: lightgreen;
      }

      /*
      A 的 flex-grow 为 1，B 的 flex-grow 为 2
      则 A 的实际宽度为 100px + 100px `*` 1/3 = 400/3 px , B 的实际宽度为 200px + 100px `*` 2/3 = 800/3 px
      上面的 总系数为 1 + 2 = 3 ，然后按照 各元素的 flex-grow 的属性值进行分配 A 1/3 B 2/3
      */
      /* 3、 -------------------- end */
    </style>
  </head>
  <body>
    <div class="parent1">
      <div class="c-a1"></div>
      <div class="c-b1"></div>
    </div>

    <hr />

    <div class="parent2">
      <div class="c-a2"></div>
      <div class="c-b2"></div>
    </div>

    <hr />

    <div class="parent3">
      <div class="c-a3"></div>
      <div class="c-b3"></div>
    </div>

    <script></script>
  </body>
</html>
